home *** CD-ROM | disk | FTP | other *** search
- unit uKeyPad;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ComCtrls, ExtCtrls, Buttons, Placemnt;
-
- type
- TfrmKeyPad = class(TForm)
- Button1: TButton;
- Button2: TButton;
- Button3: TButton;
- Button4: TButton;
- Button5: TButton;
- Button6: TButton;
- Button7: TButton;
- Button8: TButton;
- Button9: TButton;
- GroupBox1: TGroupBox;
- Button10: TButton;
- Button11: TButton;
- Button12: TButton;
- Button13: TButton;
- Button14: TButton;
- Button15: TButton;
- Button16: TButton;
- Button17: TButton;
- Button18: TButton;
- Button19: TButton;
- Button20: TButton;
- Button21: TButton;
- Timer1: TTimer;
- SpeedButton1: TSpeedButton;
- SpeedButton2: TSpeedButton;
- Button22: TButton;
- Button23: TButton;
- Button24: TButton;
- FormPlacement1: TFormPlacement;
- procedure KeyClick(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure KeyPadMouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure KeyPadMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure SpeedButton1Click(Sender: TObject);
- procedure SpeedButton2Click(Sender: TObject);
- private
- { Private declarations }
- FTime: Integer;
- FButton: TButton;
- procedure SendKey(Key: String; Timestr: String = '');
- public
- { Public declarations }
- procedure SetKeysMode(T610: boolean = True);
- end;
-
- var
- frmKeyPad: TfrmKeyPad;
-
- implementation
-
- uses Unit1;
- {$R *.dfm}
-
- procedure TfrmKeyPad.KeyClick(Sender: TObject);
- var
- key: String;
- begin
- Key := (Sender as TButton).Hint;
- Form1.TxAndWait('AT+CKPD="' + key + '"', 'OK');
- end;
-
- procedure TfrmKeyPad.Timer1Timer(Sender: TObject);
- begin
- KeyPadMouseUp(FButton, mbLeft, [], 0, 0);
- ShowMessage('Key Sent.');
- end;
-
- procedure TfrmKeyPad.KeyPadMouseDown(Sender: TObject;
- Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
- begin
- if Button = mbRight then Exit;
- FButton := (Sender as TButton);
- FTime := GetTickCount;
- Timer1.Enabled := True;
- end;
-
- procedure TfrmKeyPad.KeyPadMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- var
- key: String;
- begin
- if Button = mbRight then Exit;
- Timer1.Enabled := False;
- FTime := Round((GetTickCount - cardinal(FTime))/100);
- Key := (Sender as TButton).Hint;
- if FTime < 15 then
- SendKey(Key)
- else
- SendKey(key, IntToStr(FTime));
- end;
-
- procedure TfrmKeyPad.SpeedButton1Click(Sender: TObject);
- begin
- SendKey('U');
- end;
-
- procedure TfrmKeyPad.SpeedButton2Click(Sender: TObject);
- begin
- SendKey('D');
- end;
-
- procedure TfrmKeyPad.SendKey(Key: String; Timestr: String);
- begin
- frmKeyPad.Enabled := False;
- try
- Form1.Debug('Sending Key....');
- if Timestr <> '' then
- Form1.TxAndWait('AT+CKPD="' + Key + '",' + Timestr, 'OK')
- else
- Form1.TxAndWait('AT+CKPD="' + Key + '"', 'OK');
- except
- end;
- frmKeyPad.Enabled := True;
- end;
-
- procedure TfrmKeyPad.SetKeysMode(T610: boolean);
- begin
- if T610 then begin
- Button6.Caption := '----';
- Button6.Hint := '[';
-
- Button7.Caption := '----';
- Button7.Hint := ']';
-
- Button8.Caption := 'Back';
- Button8.Hint := ':R';
-
- Button22.Hint := ':J';
-
- Button23.Visible := True;
- Button24.Visible := True;
- ClientHeight := Button24.Top + Button24.Height + 4;
- end
- else begin
- Button6.Caption := 'Yes';
- Button6.Hint := 's';
-
- Button7.Caption := 'No';
- Button7.Hint := 'e';
-
- Button8.Caption := 'OPT';
- Button8.Hint := 'f';
-
- Button23.Visible := False;
- Button24.Visible := False;
-
- Button22.Hint := 's';
- ClientHeight := Button2.Top + Button2.Height + 4;
- end;
- end;
-
- end.
-